package com.vanke.house.utils;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Locale;

/**
 * @author fangyu
 * @version v1.0.0
 * @date 2020/6/18 10:05 下午
 */
public class DateUtils {

    /**
     * 字符串转换成时间
     * @param str
     * @return
     */
    public static Date Str2Date(String str) throws ParseException {
        String date = str.replace(".", "-");
        SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd");
        return sdf.parse(date);
    }

    /**
     * 获取当前中国时区的时间(格式: yyyy-MM-dd HH:mm:ss)
     *
     * @return String类型的时间
     */
    public static String newTime() {
        // 获取当前时间(指定中国时区)
        Calendar calendar = Calendar.getInstance(Locale.CHINA);
        Date date = calendar.getTime();
        // new 一个时间日期转换类, 并指定日期格式
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        // 时间转换为指定格式, 并return
        return dateFormat.format(date);
    }

    /**
     * 获取当前中国时区的时间(格式: yyyy-MM-dd)
     *
     * @return String类型的时间
     */
    public static String newDate() {
        // 获取当前时间(指定中国时区)
        Calendar calendar = Calendar.getInstance(Locale.CHINA);
        Date date = calendar.getTime();
        // new 一个时间日期转换类, 并指定日期格式
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        // 时间转换为指定格式, 并return
        return dateFormat.format(date);
    }

    public static Date computeDate(Date date, Integer days) {
        Calendar calendar = new GregorianCalendar();
        calendar.setTime(date);
        //把日期往后增加一天,整数  往后推,负数往前移动
        calendar.add(Calendar.DATE, -days);
        return calendar.getTime();
    }

    public static void main(String[] args) {
        Date date = new Date();
        System.out.println(computeDate(date, 1));
    }

}
